package processor

import (
	"encoding/json"
	"fmt"
	"mass-user/commons/message"
	"mass-user/commons/utils"
	"net"
	"os"
)

func ShowMenu()  {
	fmt.Println("===============恭喜xx登录成功===============")
	fmt.Println("1.显示在线用户")
	fmt.Println("2.发送消息")
	fmt.Println("3.信息列表")
	fmt.Println("4.退出系统")

	var key int
	fmt.Scanf("%d\n", &key)
	switch key {
	case 1:
		fmt.Println("显示客户列表")
	case 2:
		fmt.Println("发送")
	case 3:
		fmt.Println("信息列表")
	case 4:
		fmt.Println("退出系统")
		os.Exit(0)
	default:
		fmt.Println("输入有误！")
	}
}

func ServerProcessMes(conn net.Conn){
	tf := &utils.Transfer{
		Conn: conn,
		Buf:  [8096]byte{},
	}
	for{
		fmt.Println("客户端等待读取.....")
		msg, err := tf.ReadPkg()
		if err != nil{
			return
		}
		//fmt.Println(msg)
		switch msg.Type {
		case message.NotifyUserStatusMesType:
			var nuser message.NotifyUserStatusMes
			_ = json.Unmarshal([]byte(msg.Data), &nuser)
			UpdateUserStatus(&nuser)
		default:
			fmt.Println("未知返回类型")
		}
	}
}